#### 11.8.24 `GIMPLE_PHI`

— GIMPLE function: unsigned gimple_phi_capacity (gimple g)

> Return the maximum number of arguments supported by `GIMPLE_PHI` `G`.

— GIMPLE function: unsigned gimple_phi_num_args (gimple g)

> Return the number of arguments in `GIMPLE_PHI` `G`. This must always be exactly the number of incoming edges for the basic block holding `G`.

— GIMPLE function: tree gimple_phi_result (gimple g)

> Return the `SSA` name created by `GIMPLE_PHI` `G`.

— GIMPLE function: tree * gimple_phi_result_ptr (gimple g)

> Return a pointer to the `SSA` name created by `GIMPLE_PHI` `G`.

— GIMPLE function: void gimple_phi_set_result (gphi *g, tree result)

> Set `RESULT` to be the `SSA` name created by `GIMPLE_PHI` `G`.

— GIMPLE function: struct phi_arg_d * gimple_phi_arg (gimple g, index)

> Return the `PHI` argument corresponding to incoming edge `INDEX` for `GIMPLE_PHI` `G`.

— GIMPLE function: void gimple_phi_set_arg (gphi *g, index, struct phi_arg_d * phiarg)

> Set `PHIARG` to be the argument corresponding to incoming edge `INDEX` for `GIMPLE_PHI` `G`.